package com.eight.cloud.client.model.vo;

import lombok.Data;

import java.io.Serializable;

/**
 * @ClassName: NoticeRefunfInfo
 * @Author: TXC
 * @Date: 2024-12-03 15:56
 **/
@Data
public class NoticeRefundInfo implements Serializable {
    private String subMchid;
    private String transactionId;
    private String outTradeNo;
    private String refundId;
    private String outRefundNo;
    private String refundStatus;
    private String successTime;
    private String userReceivedAccount;
    private Amount amount;
    /**
     * 退款渠道 说明：枚举值： - ORIGINAL—原路退款 - BALANCE—退回到余额 - OTHER_BALANCE—原账户异常退到其他余额账户 -
     * OTHER_BANKCARD—原银行卡异常退到其他银行卡
     */
    private Channel channel;

    /**
     * 资金账户 说明：退款所使用资金对应的资金账户类型 枚举值： - UNSETTLED : 未结算资金 - AVAILABLE : 可用余额 - UNAVAILABLE : 不可用余额 -
     * OPERATION : 运营户 - BASIC : 基本账户（含可用余额和不可用余额）
     */
    private FundsAccount fundsAccount;


    public enum Channel {
        ORIGINAL,

        BALANCE,

        OTHER_BALANCE,

        OTHER_BANKCARD
    }

    public enum FundsAccount {
        UNSETTLED,

        AVAILABLE,

        UNAVAILABLE,

        OPERATION,

        BASIC,

        ECNY_BASIC
    }
}
